import { TimeRange } from "@/utils"

export interface IQueryListParams {
	eventId: string
	eventTimeEnd: string
	eventTimeStart: string
	lockStatus: number
	merchantId: string
	pageNum: number
	pageSize: number
	userName: string
	searchTime?: TimeRange
}

export interface IResponseItem {
	eventId: string
	eventTime: string
	applyUserName: string
	userName: string
	merchantName: string
	merchantId: string
	adjustTypeStr: string
	orderAmount: number
	currency: string
	lockStatus: number
	auditStatus: number
	lockTime: string
	auditOperator: null | string
	withdrawType: number
	id: string
	usdtType: null | string
	usdtAddress: null | string
	usdtRate: number
	realName: null | string
	bankcardNo: null | string
	orderStatus: number
	bigWithdraw: number
	lockAccount: string
	lockAccountId: number
	thirdMessageStatus: null | string
	audit1Operator: null | string
	audit2Operator: null | string
	lockOrder?: boolean
}

export interface IQueryItemDetailParams {
	id: string
	eventId: string
	merchantId: string
}

export interface IResponseItemDetail {
	userName: string
	parentProxyName: string
	merchantName: string
	loginLockStatus: number
	paymentLockStatus: number
	gameLockStatus: number
	createdAt: string
	loanBillSnapshotTime: string
	asset: number
	currency: string
	shouldRepay: number
	withdrawAvailable: number
	cashAvailable: number
	creditAvailable: number
	creditTotal: number
	historyBillPeriod: string
	generatedTime: string
	historyAsset: number
	historyCurrency: string
	historyShouldRepay: number
	historyWithdrawAvailable: number
	historyCashAvailable: number
	historyCreditAvailable: number
	historyCreditTotal: number
	applyUserName: string
	eventTime: string
	adjustTypeStr: string
	orderAmount: number
	audit1Operator: null | string
	audit1Time: null | string
	audit1Desc: null | string
	registerDeviceNo: null | string
	lastLoginDatetime: null | string
	lastBetTime: null | string
	lastLoginIp: null | string
	lastLoginDeviceNo: null | string
	registryAppTypeStr: null | string
	registerIp: null | string
	ipAttribution: null | string
	currentUserRealName: null | string
	realName: null | string
	merchantId: null | string
	vipLevel: null | number
	labelName: null | string
	remark: null | string
	bindBankCardCount: null | number
	bindVirtualCount: null | number
	accountWindControl: null | number
	bankcardWindControl: null | number
	virtualAccountWindControl: null | number
	ipWindControl: null | number
	deviceNoWindControl: null | number
	lastWithdrawTime: null | string
	lastWithdrawAmount: null | number
	lastWithdrawStatus: null | string
	lastWithdrawType: null | string
	lastWithdrawChannel: null | string
	totalDeposit: null | number
	totalDepositNum: null | number
	totalWithdraw: null | number
	totalWithdrawSub: null | number
	eventId: null | string
	appTypeStr: null | string
	ip: null | string
	deviceNo: null | string
	firstWithdrawStatus: null | string
	bigWithdraw: null | number
	withdrawType: null | string
	subPayType: null | string
	todayWithdrawCount: null | number
	todayCanWithdrawCount: null | number
	todayWithdrawAmount: null | number
	todayCanWithdrawAmount: null | number
	withdrawInfo: null | string
	bankName: null | string
	bankcardNo: null | string
	bankCardRealName: null | string
	virtualCurrencyType: null | string
	usdtType: null | string
	usdtAddress: null | string
	audit2Operator: null | string
	audit2Time: null | string
	audit2Desc: null | string
	audit3Operator: null | string
	audit3Time: null | string
	audit3Desc: null | string
}

export interface IUpdateLockParams {
	auditType: number
	eventId: string
	lockStatus?: number
}

export interface ILockRecordParams {
	auditType: number
	eventId: string
	lockStatus: number
	merchantId: string
}

export interface IAuditRecordParams {
	eventId: string
	auditDesc: string
	auditResult: number
	auditType: string
}
